#define MAX_BUILTIN_FUNC_NUM (128)
#define MAX_BUILTIN_NAME_LENGTH (128)
#define MAX_BUILTIN_OPT_LENGTH (64)

#define MAX_LONGOPT_NAME_LENGTH (128)
#define MAX_BUILTIN_DESC_LENGTH (1024)

typedef struct BuiltinCmd {
    char name[MAX_BUILTIN_NAME_LENGTH]; // 命令名称
    char desc[MAX_BUILTIN_DESC_LENGTH]; // 对此命令的描述
    char Help[MAX_BUILTIN_DESC_LENGTH];//help
    bool hasAction; // 是否有 action
    int optNum; // 设置的个数
} BuiltinCmd;

int initBuiltin();
int addBuiltinCmd(const BuiltinCmd * cmd);

int git_commit();